@extends('layout.admin')

@section('title', '权限规则管理')

@section('content')
    <style>
        .edit-content{
            background-color: #fff;
            max-width: 100%;
            flex: 0 0 100%;
            padding: 0 10px;
        }

        .edit-content .edit-form{
            padding: 18px 0 0 100px;
        }

        /*多选框样式*/
        .edit-content .edit-form form .menu-first:not(:first-child){
            margin-top: 15px;
        }
        .edit-content .edit-form .menu-first .menu-second{
            margin-top: 10px;
        }
        .edit-content .edit-form .menu-first .menu-second .form-check-input.menu-check-input{
            margin-left: 0;
        }
        .edit-content .edit-form .menu-first .menu-second .menu-check-label{
            margin-left: 1.25rem;
        }
        .edit-content .edit-form .menu-first .menu-second .menu-third {
            padding-left: 2.5rem;
        }

    </style>
    <div class="edit-content">
        @include('shared.adminAddHeader', [
        'addHeaderName' => '规则修改',
        'svgIconName' => 'card-list',
        'addBackUrl' => url('admin/role/index'),
        'addSaveUrl' => url('admin/role/saveRules'),
    ])

        <div class="edit-form">
            @if(empty($menuTreeArr))
            <div class="text-secondary" style="text-align: center; height: 50px; line-height: 50px; font-size: 28px;margin-top: 30px;">
                没有添加菜单，请点击 <a href="{{url('admin/role/menuIndex')}}">添加菜单</a>
            </div>
            @else
            <form id="editForm">
                <input type="hidden" name="roleId" @if(isset($editObject->id)) value="{{$editObject->id}}" @endif >
                <div class="form-check">
                    <input class="form-check-input" type="checkbox" id="actions_ids">
                    <label class="form-check-label" for="actions_ids">全选/取消</label>
                </div>
                @foreach($menuTreeArr as $firstKey=>$firstVal)
                <div class="menu-first">
                    <div class="form-check menu-group menu-first-title">
                        <input class="form-check-input" type="checkbox" name="menuIds[]" value="{{$firstKey}}" id="menu_id_{{$firstKey}}"
                        @if(!empty($editObject->rule) && !empty($editObject->rule[$firstKey])) checked @endif >
                        <label class="form-check-label" for="menu_id_{{$firstKey}}">
                            {{$firstVal['name']}}
                        </label>
                    </div>
                    @if(!empty($firstVal['children']))
                    @foreach($firstVal['children'] as $secondKey=>$secondVal)
                    <div class="menu-second menu-children">
                        <div class="form-check menu-group menu-second-title">
                            |---- <input class="form-check-input menu-check-input" name="menuIds[]" type="checkbox" value="{{$secondKey}}" id="menu_id_{{$secondKey}}"
                                         @if(!empty($editObject->rule) && !empty($editObject->rule[$secondKey])) checked @endif >
                            <label class="form-check-label menu-check-label" for="menu_id_{{$secondKey}}">
                                {{$secondVal['name']}}
                            </label>
                        </div>
                        <div class="menu-third menu-children">
                            @if(!empty($secondVal['children']))
                            @foreach($secondVal['children'] as $thirdKey=>$thirdVal)
                            <div class="form-check menu-group">
                                |---- <input class="form-check-input menu-check-input" name="menuIds[]" type="checkbox" value="{{$thirdKey}}" id="menu_id_{{$thirdKey}}"
                                             @if(!empty($editObject->rule) && !empty($editObject->rule[$thirdKey])) checked @endif >
                                <label class="form-check-label menu-check-label" for="menu_id_{{$thirdKey}}">
                                    {{$thirdVal['name']}}
                                </label>
                            </div>
                            @endforeach
                            @endif
                        </div>
                    </div>
                    @endforeach
                    @endif

                </div>
                @endforeach
            </form>
            @endif
{{--
{{--                <div class="menu-first">--}}
{{--                    <div class="form-check menu-group">--}}
{{--                        <input class="form-check-input" type="checkbox" value="5" id="menu_id_5">--}}
{{--                        <label class="form-check-label" for="menu_id_5">--}}
{{--                            菜单一级5--}}
{{--                        </label>--}}
{{--                    </div>--}}
{{--                    <div class="menu-second menu-children">--}}
{{--                        <div class="form-check menu-group">--}}
{{--                            |---- <input class="form-check-input menu-check-input" type="checkbox" value="512" id="menu_id_512">--}}
{{--                            <label class="form-check-label menu-check-label" for="menu_id_512">--}}
{{--                                菜单二级512--}}
{{--                            </label>--}}
{{--                        </div>--}}
{{--                        <div class="menu-third menu-children">--}}
{{--                            <div class="form-check menu-group">--}}
{{--                                |---- <input class="form-check-input menu-check-input" name="menuIds[]" type="checkbox" value="521" id="menu_id_521">--}}
{{--                                <label class="form-check-label menu-check-label" for="menu_id_521">--}}
{{--                                    菜单三级521--}}
{{--                                </label>--}}
{{--                            </div>--}}
{{--                            <div class="form-check menu-group">--}}
{{--                                |---- <input class="form-check-input menu-check-input" name="menuIds[]" type="checkbox" value="522" id="menu_id_522">--}}
{{--                                <label class="form-check-label menu-check-label" for="menu_id_522">--}}
{{--                                    菜单三级522--}}
{{--                                </label>--}}
{{--                            </div>--}}
{{--                            <div class="form-check menu-group">--}}
{{--                                |---- <input class="form-check-input menu-check-input" name="menuIds[]" type="checkbox" value="523" id="menu_id_523">--}}
{{--                                <label class="form-check-label menu-check-label" for="menu_id_523">--}}
{{--                                    菜单三级523--}}
{{--                                </label>--}}
{{--                            </div>--}}
{{--                        </div>--}}
{{--                    </div>--}}
{{--                    <div class="menu-second menu-children">--}}
{{--                        <div class="form-check menu-group">--}}
{{--                            |---- <input class="form-check-input menu-check-input" type="checkbox" value="5112" id="menu_id_5112">--}}
{{--                            <label class="form-check-label menu-check-label" for="menu_id_5112">--}}
{{--                                菜单二级5112--}}
{{--                            </label>--}}
{{--                        </div>--}}
{{--                        <div class="menu-third menu-children">--}}
{{--                            <div class="form-check menu-group">--}}
{{--                                |---- <input class="form-check-input menu-check-input" name="menuIds[]" type="checkbox" value="5121" id="menu_id_5121">--}}
{{--                                <label class="form-check-label menu-check-label" for="menu_id_5121">--}}
{{--                                    菜单三级5121--}}
{{--                                </label>--}}
{{--                            </div>--}}
{{--                            <div class="form-check menu-group">--}}
{{--                                |---- <input class="form-check-input menu-check-input" name="menuIds[]" type="checkbox" value="5122" id="menu_id_5122">--}}
{{--                                <label class="form-check-label menu-check-label" for="menu_id_5122">--}}
{{--                                    菜单三级5122--}}
{{--                                </label>--}}
{{--                            </div>--}}
{{--                            <div class="form-check menu-group">--}}
{{--                                |---- <input class="form-check-input menu-check-input" name="menuIds[]" type="checkbox" value="5123" id="menu_id_5123">--}}
{{--                                <label class="form-check-label menu-check-label" for="menu_id_5123">--}}
{{--                                    菜单三级5123--}}
{{--                                </label>--}}
{{--                            </div>--}}
{{--                        </div>--}}
{{--                    </div>--}}
{{--                    <div class="menu-second menu-children">--}}
{{--                        <div class="form-check menu-group">--}}
{{--                            |---- <input class="form-check-input menu-check-input" type="checkbox" value="5412" id="menu_id_5412">--}}
{{--                            <label class="form-check-label menu-check-label" for="menu_id_5412">--}}
{{--                                菜单二级5412--}}
{{--                            </label>--}}
{{--                        </div>--}}
{{--                    </div>--}}
{{--                    <div class="menu-second menu-children">--}}
{{--                        <div class="form-check menu-group">--}}
{{--                            |---- <input class="form-check-input menu-check-input" type="checkbox" value="5212" id="menu_id_5212">--}}
{{--                            <label class="form-check-label menu-check-label" for="menu_id_5212">--}}
{{--                                菜单二级5212--}}
{{--                            </label>--}}
{{--                        </div>--}}
{{--                        <div class="menu-third menu-children">--}}
{{--                            <div class="form-check menu-group">--}}
{{--                                |---- <input class="form-check-input menu-check-input" name="menuIds[]" type="checkbox" value="5221" id="menu_id_5221">--}}
{{--                                <label class="form-check-label menu-check-label" for="menu_id_5221">--}}
{{--                                    菜单三级5221--}}
{{--                                </label>--}}
{{--                            </div>--}}
{{--                            <div class="form-check menu-group">--}}
{{--                                |---- <input class="form-check-input menu-check-input" name="menuIds[]" type="checkbox" value="5222" id="menu_id_5222">--}}
{{--                                <label class="form-check-label menu-check-label" for="menu_id_5222">--}}
{{--                                    菜单三级5222--}}
{{--                                </label>--}}
{{--                            </div>--}}
{{--                            <div class="form-check menu-group">--}}
{{--                                |---- <input class="form-check-input menu-check-input" name="menuIds[]" type="checkbox" value="5223" id="menu_id_5223">--}}
{{--                                <label class="form-check-label menu-check-label" for="menu_id_5223">--}}
{{--                                    菜单三级5223--}}
{{--                                </label>--}}
{{--                            </div>--}}
{{--                        </div>--}}
{{--                    </div>--}}
{{--                    <div class="menu-second menu-children">--}}
{{--                        <div class="form-check menu-group">--}}
{{--                            |---- <input class="form-check-input menu-check-input" type="checkbox" value="312" id="menu_id_5312">--}}
{{--                            <label class="form-check-label menu-check-label" for="menu_id_5312">--}}
{{--                                菜单二级5312--}}
{{--                            </label>--}}
{{--                        </div>--}}
{{--                    </div>--}}
{{--                </div>--}}
{{--            </form>--}}
        </div>
    </div>
    <script>
        $(document).ready(function(){
            //验证
            //规则
            let roleId = '{{isset($editObject->id) ? $editObject->id : 0}}';
            if(roleId == 0){
                layer.alert('不存在的规则', {
                    title: '出错提示',
                    timeout: 0,
                    bin: ['确定'],
                    yes: function(index){
                        window.location.href = "{{url('admin/role/index')}}";
                    }
                });
            }
            //超级管理员
            let isAdministrator = '{{isset($editObject->is_administrator['value']) ? $editObject->is_administrator['value']: ''}}';
            if(isAdministrator == 1){
                layer.alert('超级管理员不能编辑',{
                    title: '出错提示',
                    timeout: 0,
                    bin: ['确定'],
                    yes: function(index){
                        window.location.href = '{{url('admin/role/index')}}';
                    }
                });
            }

            //全选，全不选
            $('#actions_ids').on('click', function(){
                $('input[name="menuIds[]"]').prop("checked", $(this).is(':checked'));
            });

            //多选框 选择
            $('input[name="menuIds[]"]').on('click', function(){
                let _this = $(this);
                //全选或全不选
                _this.parent().parent().find('.menu-children').find('input[name="menuIds[]"]').each(function(){
                    $(this).prop("checked", _this.is(':checked'));
                });

                //选中
                if(_this.is(':checked')){
                    //第二级
                    _this.parents('.menu-second').find('.menu-second-title').find('input[name="menuIds[]"]').each(function(){
                        $(this).prop("checked", _this.is(':checked'));
                    });
                    //第一级
                    _this.parents('.menu-first').find('.menu-first-title').find('input[name="menuIds[]"]').each(function(){
                        $(this).prop("checked", _this.is(":checked"));
                    });
                } else {
                    //取消
                    //第二级
                    let menuSecondChecked = 0;
                    _this.parents('.menu-second').find('.menu-children').find('input[name="menuIds[]"]').each(function(){
                        if($(this).is(":checked")){
                            menuSecondChecked += 1;
                            return false;
                        }
                    });
                    if(menuSecondChecked == 0){
                        _this.parents('.menu-second').find('.menu-second-title').find('input[name="menuIds[]"]').each(function(){
                            $(this).prop("checked", _this.is(':checked'));
                        });
                    }

                    //第一级
                    let menuFirstChecked = 0;
                    _this.parents('.menu-first').find('.menu-children').find('input[name="menuIds[]"]').each(function(){
                        if($(this).is(":checked")){
                            menuFirstChecked += 1;
                            return false;
                        }
                    });
                    if(menuFirstChecked == 0){
                        _this.parents('.menu-first').find('.menu-first-title').find('input[name="menuIds[]"]').each(function(){
                            $(this).prop("checked", _this.is(":checked"));
                        });
                    }
                }
            });
        });
    </script>
@endsection
